/*!
 @file MujiPlayerObserver.h
 @framework ECCoreLibrary

 @author Created by Matt Austin on 11/13/14.
 @copyright Copyright (c) 2014 EnglishCentral, Inc. All rights reserved.
 
 @internal 
*/

#import <Foundation/Foundation.h>
#import "MujiPlayerObserverDelegate.h"

@class AVPlayer;

/*!
 @class MujiPlayerObserver
 */
@interface MujiPlayerObserver : NSObject

@property (nonatomic, strong) AVPlayer *player;
@property (nonatomic, weak) id<MujiPlayerObserverDelegate> delegate;
@property (readonly, nonatomic, assign) NSKeyValueObservingOptions options;
@property (readonly, nonatomic, assign) MujiPlayerObserverKVOs KVOs;
@property (readonly, nonatomic, copy) NSDictionary *allKVOKeyPaths;

- (id)initWithPlayer:(AVPlayer *)player;

- (id)initWithPlayer:(AVPlayer *)player
            delegate:(id<MujiPlayerObserverDelegate>)delegate;

- (void)startObservingKeyPaths:(MujiPlayerObserverKVOs)KVOs
                   withOptions:(NSKeyValueObservingOptions)options;

- (void)stopObserving;

- (NSDictionary *)stringsForKeyPaths:(MujiPlayerObserverKVOs)KVOs;

@end
